FutSpreadDefinitionV3
One row per exchange-listed strategy whose legs are all futures: a calendar, butterfly, condor, pack, bundle, strip or inter-commodity spread, as the venue lists it. Keyed by the venue instrument, the ExpiryKey its FutureBookQuote (2580) carries, so a book joins to its definition with no index. LEGS ARE STATED AS THE VENUE STATES THEM: the venue's order, sides and ratios, never canonicalised. A buy of the instrument buys every Buy leg and sells every Sell leg at the stated ratios, and the quoted price is the signed sum of the legs in those sides, so the sign of a quote is readable from this row alone. CME quotes an equity-index calendar deferred minus nearby (the buyer buys the deferred) and most other calendars nearby minus deferred; both arrive here as the venue's legs. A leg set with an option or stock leg is a SpreadDefinitionV3 (9300) and never appears here.
METADATA
| Attribute | Value |
|---|---|
| Topic | 9300-product-def-spreads |
| MLink Token | FutureDefinition |
| Product | SRReference |
| accessType | SELECT |
| MLink Endpoint | MLink-Live |
Table Definition
| Field | Type | Key | Default Value | Comment |
|---|---|---|---|---|
| fkey_at | enum - AssetType | PRI | 'None' | the venue instrument ccode the venue id on the listing source the strategys expiration |
| fkey_ts | enum - TickerSrc | PRI | 'None' | the venue instrument ccode the venue id on the listing source the strategys expiration |
| fkey_tk | VARCHAR(12) | PRI | '' | the venue instrument ccode the venue id on the listing source the strategys expiration |
| fkey_yr | SMALLINT UNSIGNED | PRI | 0 | the venue instrument ccode the venue id on the listing source the strategys expiration |
| fkey_mn | TINYINT UNSIGNED | PRI | 0 | the venue instrument ccode the venue id on the listing source the strategys expiration |
| fkey_dy | TINYINT UNSIGNED | PRI | 0 | the venue instrument ccode the venue id on the listing source the strategys expiration |
| ticker_at | enum - AssetType | 'None' | the complex the legs share ES the first legs for an intercommodity spread | |
| ticker_ts | enum - TickerSrc | 'None' | the complex the legs share ES the first legs for an intercommodity spread | |
| ticker_tk | VARCHAR(12) | '' | the complex the legs share ES the first legs for an intercommodity spread | |
| mic | VARCHAR(4) | '' | ISO 10383 the listing venue | |
| exchID | VARCHAR(30) | SEC | '' | the venues own identifier for the instrument |
| exchSymbol | VARCHAR(30) | '' | the venues text symbol for the instrument ESZ6ESH7 | |
| productType | enum - ProductType | 'None' | the venues strategy type CalSpr EqCalSpr BFly Condor Pack Bndl InterCmd | |
| userDefined | enum - YesNo | 'None' | a userdefined strategy listed for the session that created it | |
| scopeFlags | VARCHAR(255) | 'None' | MultiTicker when the legs span more than one complex | |
| nearKey_at | enum - AssetType | 'None' | the earlierexpiring leg empty when not a calendar | |
| nearKey_ts | enum - TickerSrc | 'None' | the earlierexpiring leg empty when not a calendar | |
| nearKey_tk | VARCHAR(12) | '' | the earlierexpiring leg empty when not a calendar | |
| nearKey_yr | SMALLINT UNSIGNED | 0 | the earlierexpiring leg empty when not a calendar | |
| nearKey_mn | TINYINT UNSIGNED | 0 | the earlierexpiring leg empty when not a calendar | |
| nearKey_dy | TINYINT UNSIGNED | 0 | the earlierexpiring leg empty when not a calendar | |
| farKey_at | enum - AssetType | 'None' | the laterexpiring leg empty when not a calendar | |
| farKey_ts | enum - TickerSrc | 'None' | the laterexpiring leg empty when not a calendar | |
| farKey_tk | VARCHAR(12) | '' | the laterexpiring leg empty when not a calendar | |
| farKey_yr | SMALLINT UNSIGNED | 0 | the laterexpiring leg empty when not a calendar | |
| farKey_mn | TINYINT UNSIGNED | 0 | the laterexpiring leg empty when not a calendar | |
| farKey_dy | TINYINT UNSIGNED | 0 | the laterexpiring leg empty when not a calendar | |
| nearRatio | INT | 0 | 1 or 1 the near legs signed ratio for a buy 0 when not a calendar | |
| priceFormat | enum - PriceFormat | 'None' | how the strategy quotes | |
| minTickSize | DOUBLE | 0 | the smallest price increment a listed strategy may tick finer than its legs | |
| productGroup | VARCHAR(6) | '' | the venues product group for the instrument CME Asset | |
| securityGroup | VARCHAR(6) | '' | the venues security group for the instrument | |
| timestamp | DATETIME(6) | '1900-01-01 00:00:00.000000' | when this row was last written | |
| v3Source | enum - V3Source | 'None' | Bridge projected from a legacy record Loader written natively None reads as Loader | |
| LegsList | JSON | 'JSON_ARRAY()' |
PRIMARY KEY DEFINITION (Unique)
| Field | Sequence |
|---|---|
| fkey_tk | 1 |
| fkey_yr | 2 |
| fkey_mn | 3 |
| fkey_dy | 4 |
| fkey_at | 5 |
| fkey_ts | 6 |
SECONDARY INDEX (ExchIDIndex) (Not Unique)
| Field | Sequence |
|---|---|
| exchID | 1 |
JSON Block (LegsList)
| Field | Type | Comment |
|---|---|---|
| legKey | enum - legKey | the futures contract this leg trades |
| legSide | enum - BuySell | the side of this leg in a buy of the strategy as the venue states it |
| legRatio | enum - legRatio | the venues ratio for this leg |
SELECT TABLE EXAMPLE QUERY
SELECT *
FROM `SRReference`.`MsgFutSpreadDefinitionV3`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY','RATE','CRDT','GCR','SWAP','ENT','MBS','SET','LOAN') */
`fkey_at` = 'NONE'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFEC','ICEFEF','CEQT','TSX','TMX','CRCY','CMDY','DTI','SOVN','SR_US','SR_EU','SR_AP','SR_UK','USD','EUR','GBP','CHF','JPY','CAD','AUD','HKD','KRW','INR','SGD','TWD','CNY','CNH','BRL','MXN','ZAR','SEK','NOK','DKK','PLN','ILS','TRY','NZD','THB','MYR','IDR','PHP','CZK','HUF','SAR','AED','CLP','COP') */
`fkey_ts` = 'NONE'
AND
/* Replace with a VARCHAR(12) */
`fkey_tk` = 'Example_fkey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`fkey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`fkey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`fkey_dy` = 1;
Doc Columns Query
SELECT * FROM SRReference.doccolumns WHERE TABLE_NAME='FutSpreadDefinitionV3' ORDER BY ordinal_position ASC;